﻿using Framework.Common;
using Framework.Common.Paged;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using YouTravel.DomainModels;
using YouTravel.QueryModels;
using YouTravel.ViewModels;

namespace YouTravel.DomainService
{
    /// <summary>
    /// 
    /// </summary>
    public interface IBranchService
    {
		/// <summary>
		/// 机构列表页面 Pwp 2015-09-16
		/// </summary>
		/// <param name="queryCond">机构查询集合</param>
		/// <returns></returns>
		CustomPagedList<BranchListViewModel> GetList(PagedParam<BranchQuery> queryCond);
		/// <summary>
		/// 创建机构 Pwp 2015-09-17
		/// </summary>
		/// <param name="branchview">机构创建集合</param>
		void AddBranch(BranchViewModel branchview);

		/// <summary>
		/// 获取机构信息 Pwp 2015-09-18
		/// </summary>
		/// <param name="branchid"></param>
		/// <returns></returns>
		BranchViewModel DetailBranch(int branchid);

		/// <summary>
		/// 编辑机构基础信息 Pwp 2015-09-18
		/// </summary>
		/// <param name="branchmodel">机构集合</param>
		void EditBranch(BranchViewModel branchmodel);
		/// <summary>
		/// 冻结/解冻机构 Pwp 2015-09-18
		/// </summary>
		/// <param name="branchmodel">机构集合</param>
		void FrozenBranch(Branch branchmodel);
		/// <summary>
		/// 创建扣款类型 Pwp 2015-09-18
		/// </summary>
		/// <param name="deductionmodel">扣款类型集合</param>
		void AddDeduction(Deduction deductionmodel);
		/// <summary>
		/// 创建扣款类型 Pwp 2015-09-18
		/// </summary>
		/// <param name="deductionmodel">扣款类型集合</param>
		void DelDeduction(Deduction deductionmodel);
		/// <summary>
		/// 创建发票科目 Pwp 2015-09-18
		/// </summary>
		/// <param name="invoicesubjectmodel">发票科目集合</param>
		void AddInvoiceSubject(InvoiceSubject invoicesubjectmodel);
		/// <summary>
		/// 创建发票科目 Pwp 2015-09-18
		/// </summary>
		/// <param name="invoicesubjectmodel">发票科目集合</param>
		void DelInvoiceSubject(InvoiceSubject invoicesubjectmodel);
    }
}
